// 一.在插件安装时执行的操作
chrome.runtime.onInstalled.addListener(() => {});

// 二.监听浏览器标签更新事件
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
  // 在这里处理标签更新事件
  console.log("标签更新事件");
});

//三. 新增右键菜单
var menuItem = {
  id: "query_weather",
  title: "查询天气",
  contexts: ["all"],
  type: "normal", //"normal"表示普通菜单项，"checkbox"表示复选框菜单项，"radio"表示单选菜单项，"separator"表示分隔符菜单项
};
chrome.contextMenus.create(menuItem);

//四. 右键菜单点击时监听
chrome.contextMenus.onClicked.addListener(function (info, tab) {
  if (info.menuItemId === "query_weather") {
    // 在这里处理右键菜单点击事件
    var url = "http://t.weather.sojson.com/api/weather/city/101030100";
    fetch(url)
      .then((response) => response.text())
      .then((text) => JSON.parse(text))
      .then((result) => {
        chrome.tabs.query(
          { active: true, currentWindow: true },
          function (tabs) {
            console.log("标签页信息", tabs);

            //设置徽章
            chrome.action.setBadgeText({ text: result.data.wendu });
            chrome.action.setBadgeBackgroundColor({ color: [0, 255, 0, 100] });
            //给前台发送
            chrome.tabs.sendMessage(tabs[0].id, {
              message: "weather",
              data: result,
            });
          }
        );

        //获取设置的提醒温度
        chrome.storage.local.get("temp", (result) => {
          console.log("获取到的提醒温度", result.temp);
          if (result.temperature) {
            if (result.temperature > result.temp) {
              // var imgUrl = chrome.runtime.getURL("img/icon.png");
              // var notifyOptions = {
              //   type: "basic",
              //   iconUrl: imgUrl,
              //   title: "天气提醒",
              //   message: "温度超过设定值",
              //   priority: 1,
              // };
              // chrome.notifications.create("highTempNotify", notifyOptions);
            }
          }
        });
      });
  }
});
//五.其他信息监听事件
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.message === "get_data") {
    // 在后台脚本中执行一些操作，比如获取数据等
    const data = "这是从后台获取的数据";
    sendResponse({ data: data });
  }
  if (request.message === "open_home") {
    // 在后台脚本中执行一些操作，比如获取数据等
    const data = "这是从后台获取的数据";
    sendResponse({ data: data });
  }
});
//六.后台向前台发送数据(后台不能操作dom,前台(event文件夹下的)可以)
// chrome.tabs.query(
//   { active: true, currentWindow: true },
//   function (tabs) {
//     console.log("标签页信息", tabs);

//     //设置徽章
//     chrome.action.setBadgeText({ text: result.data.wendu });
//     chrome.action.setBadgeBackgroundColor({ color: [0, 255, 0, 100] });
//     //给前台发送
//     chrome.tabs.sendMessage(tabs[0].id, {
//       message: "weather",
//       data: result,
//     });
//   }
// );
//七.
